<template>
    <div>
        <el-container>
            <el-header class="homeHeader">

                <div class="title">后台管理系统</div>

                <el-dropdown class="userInfo" @command="commandHandler">
                    <span class="el-dropdown-link">
                    {{user.realName}}<i><img :src="userFace" alt=""></i>
                    </span>
                        <el-dropdown-menu slot="dropdown">
                            <el-dropdown-item command="userInfo">个人中心</el-dropdown-item>
                            <el-dropdown-item command="setting">历史头像</el-dropdown-item>
                            <el-dropdown-item command="logout" divided>注销登录</el-dropdown-item>
                        </el-dropdown-menu>
                </el-dropdown>

            </el-header>

            <el-container>
                <el-aside width="200px" class="asideNav">
                    <el-menu router unique-opened>
                        <el-submenu class="submenu" :index="index+''" v-for="(item,index) in nav" :key="index">
                            <template slot="title">
                                <i style="color: #898cff;margin-right: 5px" :class="item.menuIcon"></i>
                                <span>{{item.name}}</span>
                            </template>
                                <el-menu-item class="submenu" :index="child.path" v-for="(child,index_j) in item.children" :key="index_j">
                                    <i style="color: #898cff;margin-right: 5px" :class="child.menuIcon"></i>
                                    {{child.name}}
                                </el-menu-item>
                        </el-submenu>
                    </el-menu>
                </el-aside>
                <el-main>
                    <el-breadcrumb separator-class="el-icon-arrow-right" v-show="this.$router.currentRoute.path!='/home'">
                        <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
                        <el-breadcrumb-item>{{this.$router.currentRoute.name}}</el-breadcrumb-item>
                    </el-breadcrumb>
                    <div class="homeWelcome" v-show="this.$router.currentRoute.path=='/home'">
                        <div>
                            <el-row>
                                <el-col :span="4">
                                    <el-card>
                                    <a href="http://localhost:8204/xxl-job-admin/toLogin" target="_blank">
                                    <img src="https://www.xuxueli.com/doc/static/xxl-job/images/xxl-logo.jpg" class="image" style="height: 220px"></a>
                                    <div>
                                        <span>任务调度平台</span>
                                    </div>
                                    </el-card>
                                </el-col>
                                <el-col :span="4" style="margin-left: 20px">
                                    <el-card>
                                    <a href="http://localhost:8848/nacos/" target="_blank">
                                    <img src="/static/images/nacos.png" class="image" style="height: 220px"></a>
                                    <div>
                                        <span>Nacos注册中心</span>
                                    </div>
                                    </el-card>
                                </el-col>
                                <el-col :span="4" style="margin-left: 20px">
                                    <el-card>
                                        <a href="http://localhost:8080/#/officeWaitingDealWithTask">
                                        <img src="/static/images/todo.png" class="image" style="height: 220px"></a>
                                    <div>
                                        <span>待办事项</span>
                                    </div>
                                    </el-card>
                                </el-col>
                                <el-col :span="4" style="margin-left: 20px;">
                                    <el-card >
                                         <a href="http://localhost:8080/#/officeTaskAlreadyHandle">
                                        <img src="/static/images/doed.png" class="image" style="height: 220px"></a>
                                    <div>
                                        <span>已办事项</span>
                                    </div>
                                    </el-card>
                                </el-col>
                                <el-col :span="4" style="margin-left: 20px;">
                                    <el-card >
                                         <a href="http://localhost:9101/doc.html" target="_blank">
                                        <img src="/static/images/swagger.png" class="image" style="height: 220px"></a>
                                    <div>
                                        <span>接口文档</span>
                                    </div>
                                    </el-card>
                                </el-col>
                            </el-row>
                        </div>
                    </div>
                    <router-view class='homeRouterView'/>
                </el-main>
            </el-container>
        </el-container>
        <!-- 查看头像 -->
        <div>
         <el-dialog
                  title="历史头像"
                  :visible.sync="historyShow"
                  width="60%">
              <div class="userFaceHistory-list" v-for="(item, i) in userFaceHistory" :key="item.attachmentId">
                <div class="userFace-img" >
                  <img :src="getimg(i)" alt=""/>
                </div>
              </div>
          </el-dialog>
        </div>
    </div>
</template>

<script>
    export default {
        name: "Home",
        data(){
            return{
                user:JSON.parse(window.sessionStorage.getItem('userInfo')),
                userFace:'/static/images/face_default.png',
                basePath:'',
                userFaceHistory:[],
                historyShow: false
            }
        },
        mounted() {
          this.getBatch();
        },
        methods:{
            getBatch(){
              this.getRequest("/resources/InstanceAttachment/query/InstanceAttachmentBatch/"+this.user.id).then(resp => {
                    if(resp){
                      this.userFace = resp.data.basePath+resp.data.btHiAttachments[0].attachmentPath;
                      this.userFaceHistory = resp.data.btHiAttachments;
                      this.basePath = resp.data.basePath;
                    }
              })
            },
            commandHandler(cmd){
                if (cmd == 'logout'){
                    this.$confirm('此操作将注销登录, 是否继续?', '提示', {
                        confirmButtonText: '确定',
                        cancelButtonText: '取消',
                        type: 'warning'
                    }).then(() => {
                        window.sessionStorage.removeItem('userInfo')
                        this.$router.replace('/')
                        this.$message.success('注销成功')
                        this.$store.dispatch('SETNAV',[]);
                    }).catch(() => {
                        this.$message({
                            type: 'info',
                            message: '已取消操作'
                        });
                    });
                }
                // 个人中心
                if(cmd == 'userInfo'){
                  this.$router.replace('/PersonalCenter')
                }
                // 设置
                if(cmd == 'setting'){
                  this.historyShow = true;
                }
            },
            getimg(e) {
              return new URL(this.userFaceHistory[e].attachmentPath,this.basePath).href;
            }
        },
        computed:{
            nav(){
                return this.$store.state.nav;
            }
        },
    }
</script>

<style>
    .image {
        width: 100%;
        display: block;
    }
    .homeHeader{
        margin-top: -60px;
        /*设置元素背景蓝色*/
        background: #ffb340;
        /*设置元素布局方式*/
        display: flex;
        /*设置元素块轴上居中*/
        align-items: center;
        /* 均匀排列每个元素:首个元素放置于起点，末尾元素放置于终点 */
        justify-content: space-between;
        /*设置元素内边距上 右*/
        padding: 0px 15px;
        /*设置元素放在盒子中
            Total width: 160px
            Total height: 80px
            Content box width: 160px - (2 * 20px) - (2 * 8px) = 104px
            Content box height: 80px - (2 * 20px) - (2 * 8px) = 24px
        */
        box-sizing: border-box;
    }

    .homeHeader .title{
        /*设置元素字体大小*/
        font-size: 30px;
        /*设置元素字体*/
        font-family: 华文行楷;
        /*设置元素字体颜色*/
        color: #ffffff;
    }

    .homeHeader .userInfo{
        cursor: pointer;
    }

    /* TODO 自适应高度 */
    .asideNav{
        height: 100%;
        text-align: left;
    }

    .el-dropdown-link{
        display: flex;
        align-items: center;
    }

    .el-dropdown-link img{
        width: 48px;
        height: 48px;
        border-radius: 24px;
        margin-left: 8px;
    }

    .homeWelcome{
        text-align: center;
        font-size: 30px;
        font-family: 华文行楷;
        color: #409eff;
        padding-top: 50px;
    }

    .homeRouterView{
        margin-top:10px;
    }
    .userFaceHistory-list{
      display: inline-block;
    }
    .userFace-img img{
        width: 200px;
        height: 200px;
/*        border-radius: 100px; */
        margin-left: 8px;
    }
</style>
